Personal computers (PC's) currently are manufactured in two general versions, one of which uses a keyboard only and the other of which uses a keyboard and a spatial input device known as a "mouse." As discussed in the above identified co-pending application, the most popular personal computers currently are manufactured by the IBM Corporation. Currently, IBM manufactures a "keyboard only" personal computer which carries the designation "AT" and a keyboard/mouse combination computer under the designation "PS/2." As mentioned in the above identified copending application, even though both of these computers are made by the same manufacturer, the translation of the signals which are supplied from the keyboard to the computer occurs at different operating times. In addition, at least some of the translations for some of the keys in the keyboard are different. Consequently, the system described in the above identified co-pending application was developed to provide a single chip key code translation system, capable of operation with either of these two types of computers.
In conventional IBM AT or PS/2 computer systems, the keyboard controller is implemented using a general purpose peripheral controller. This implementation requires all of the transmit/receive interfaces with the keyboard to be performed in firmware which is relatively slow and requires code space. A significant disadvantage also exists inasmuch as the receiver cannot be active while other parts of the code are being executed by the controller. The standard keyboard controllers for the IBM AT and PS/2 are configured or defined differently. Two different controllers, with different firmware, are needed to interface keyboards with the two types of computers. Consequently, it is necessary for retailers and users to stock two different parts, and for purchasers to identify specifically which type computer, AT or PS/2, is to be used with the controller.
It is desirable to provide a dedicated keyboard/mouse controller which is capable of use with different types of personal computers, which is fast in operation, small in size, and reduces the code space required.